import Mock from "mockjs";

// 模拟管理员列表数据
const { adminList } = Mock.mock({
    "adminList|20": [ // 创建20条数据
        {
            id: "id-" + "@guid",
            username: "@word", // 随机生成用户名
            password: "@string('number', 6, 6)", // 随机生成6位数字作为密码
            role: "admin", // 固定角色
            name: "@cname" // 随机生成中文名字
        }
    ]
})



// 获取管理员列表接口
Mock.mock("/admin/list", "post", (config) => {
    const req = JSON.parse(config.body)
    return {
        code: 1,
        message: "获取管理员列表成功",
        data: {
            adminList: adminList.slice((req.count - 1) * req.pageSize, req.count * req.pageSize),
            length: adminList.length
        }
    };
});

// 添加管理员接口
Mock.mock("/admin/add", "post", (config) => {
    const req = JSON.parse(config.body)
    adminList.push(req)
    return {
        code: 200,
        message: '添加数据成功',
    }
});

// 删除管理员接口
Mock.mock("/admin/delete", "post", (config) => {
    const req = JSON.parse(config.body)

    const res = {
        code: 200,
        message: '删除数据失败'
    }

    for (let i = 0; i < adminList.length; i++) {
        if (adminList[i].proid == req.proid) {
            // 找到要删除的数据了
            adminList.splice(i, 1)
            res.message = '数据删除成功'
            break
        }
    }

    return res
});

// 更新管理员接口
Mock.mock("/admin/edit", "post", (config) => {
    const req = JSON.parse(config.body)

    const res = {
        code: 200,
        message: '修改数据失败'
    }

    for (let i = 0; i < adminList.length; i++) {
        if (adminList[i].proid == req.proid) {
            // 找到要删除的数据了
            // adminList.splice(i, 1)
            adminList[i] = req
            res.message = '数据修改成功'
            break
        }
    }

    return res
});


// 查找管理员接口
Mock.mock('/admin/query', 'post', (config) => {
    const req = JSON.parse(config.body);

    const res = {
        code: 200,
        message: '查询数据失败',
    };

    const arr = [];

    // 确保 req.username 存在
    const username = req.username || ''; // 如果 req.username 是 undefined 或 null，则使用空字符串

    for (let i = 0; i < adminList.length; i++) {
        // 确保 adminList[i].username 存在，并检查 req.username 是否为空
        if (adminList[i].username && adminList[i].username.indexOf(username) !== -1) {
            // 找到数据了
            res.message = '数据查询成功';
            arr.push(adminList[i]);
        }
    }

    res.adminList = arr;
    res.length = arr.length;

    return res;
});

